-
Notifications
You must be signed in to change notification settings - Fork 823
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add clusterIP for agones-allocator in helm chart #3526
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: govargo The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Build Succeeded 👏 Build Id: 87e279b9-d9f9-43a7-9281-45d182463b23 The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
@@ -72,6 +72,9 @@ spec: | |||
protocol: TCP | |||
{{- end }} | |||
type: {{ .Values.agones.allocator.service.serviceType }} | |||
{{- if and (eq .Values.agones.allocator.service.serviceType "ClusterIP") (.Values.agones.allocator.service.headless) }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rather than a special case for "headless", any reason not to do a agones.allocator.service.clusterIP
- which can be set to whatever you want, and provides greater flexibility?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your comment!
Surely. The clusterIP
field which users can set any value has greater flexibility and can also be used in cases other than headless.
I changed my commit while referring to loadBalanceIP
.
{{- $useLoadBalancerIP := and (ne .Values.agones.allocator.service.loadBalancerIP "") (eq .Values.agones.allocator.service.serviceType "LoadBalancer") }}
@gongmax FYI |
0e2ea03
to
9f989a9
Compare
Build Succeeded 👏 Build Id: 34f90e29-add9-4129-9b79-18b31daaaf13 The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
@@ -72,6 +73,9 @@ spec: | |||
protocol: TCP | |||
{{- end }} | |||
type: {{ .Values.agones.allocator.service.serviceType }} | |||
{{- if $clusterIP }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
{{- if $clusterIP }} | |
{{- if (ne .Values.agones.allocator.service.clusterIP "") }} |
I write this because this change sent me lookinga thte K8s reference docs, and looking at Service.spec.clusterIP
, and I saw it say:
Only applies to types ClusterIP, NodePort, and LoadBalancer
So it's not just the ClusterIP
value for Service.spec.type
-- so I'd recommend leaving it open, and let the end user decide when it's appropriate to set the value, rather than constrain them?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your suggestion!
It would be better and I updated allocation.yaml and helm.md.
9f989a9
to
22ea10b
Compare
Build Failed 😱 Build Id: 1445300c-6ead-4022-9c13-73aacee583c9 To get permission to view the Cloud Build view, join the agones-discuss Google Group. |
… agones.allocator.service.http.nodePort
Step#20 tests passed but make-docker container exited with some reason. I think this is due to flaky.
I'll re-test with some update. |
Build Succeeded 👏 Build Id: b054e955-f946-445c-a8ef-4d1d80464ad7 The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
Retest with minor documentation clean-up 5c06109 and passed CI |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
Build Succeeded 👏 Build Id: bf642237-c600-4333-99ce-8e97a081fe39 The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
What type of PR is this?
/kind feature
What this PR does / Why we need it:
I'd like to use agones-allocator with MultiClusterService(MCS) in multiple Kubernetes clusters.
In order to allocate with multiple clusters environment, currently there are some ways.
I'd like to add another solution, 4. MultiClusterService + client-side load balancing.
This diagram is what I'd like to deploy.
In Kubernetes env, L7 proxy or client-side loadbalancing is needed for gRPC's load balancing.
MultiClusterService is the L4 layer service, so we need client-side loadbalancing, if we'd like to load balancing agones-allocator's gRPC.
To communite by client-side loadbalancing, DNS name resolusion for each agones-allocator pod is needed.
DNS name resolusion for each pod can be done by Headless Service in Kubernetes.
However, current helm chart for agones-allocator doesn't support Headless Service.
So this is why I sent this PR.
Thank you.
Which issue(s) this PR fixes:
None
Special notes for your reviewer: